improvement(gong): validate integration against API docs, fix pagination/wandConfig consistency#5361
Conversation
PR SummaryHigh Risk Overview Several existing flows get small consistency fixes: Reviewed by Cursor Bugbot for commit e5eea58. Configure here. |
Greptile SummaryThis PR adds four new Gong tools (
Confidence Score: 5/5Safe to merge — all new tools follow established patterns, destructive purge parameters are correctly guarded with user-only visibility, and the consistency fixes are trivially correct. The four new tools are well-structured and consistent with the existing Gong integration: auth headers, error handling via getGongErrorMessage, typed params/responses, and registry/block wiring are all correct. The purge endpoints carry visibility: 'user-only' on the target address/number, addressing the concern raised in the prior review cycle. The optional: true cursor fixes and wandConfig additions are mechanical and low-risk. No files require special attention. Important Files Changed
Sequence Diagram%%{init: {'theme': 'neutral'}}%%
sequenceDiagram
participant U as User/LLM
participant B as Gong Block
participant R as Tool Registry
participant G as Gong API
U->>B: Select operation (e.g. assign_flow_prospects)
B->>R: Resolve tool → gong_assign_flow_prospects
R->>G: POST /v2/flows/prospects/assign
G-->>R: "{requestId, prospectsAssigned[], prospectsNotAssigned[]}"
R-->>B: Typed output
B-->>U: prospectsAssigned / prospectsNotAssigned
U->>B: Select operation (get_prospect_flows)
B->>R: Resolve tool → gong_get_prospect_flows
R->>G: POST /v2/flows/prospects
G-->>R: "{requestId, prospectsAssigned[]}"
R-->>B: Typed output
B-->>U: prospectsAssigned
Note over U,B: Purge operations require user-only input
U->>B: Select purge_email_address
B->>R: Resolve tool → gong_purge_email_address
R->>G: "POST /v2/data-privacy/erase-data-for-email-address?emailAddress=..."
G-->>R: "{requestId}"
R-->>B: requestId
B-->>U: Async erase confirmed (irreversible)
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
sequenceDiagram
participant U as User/LLM
participant B as Gong Block
participant R as Tool Registry
participant G as Gong API
U->>B: Select operation (e.g. assign_flow_prospects)
B->>R: Resolve tool → gong_assign_flow_prospects
R->>G: POST /v2/flows/prospects/assign
G-->>R: "{requestId, prospectsAssigned[], prospectsNotAssigned[]}"
R-->>B: Typed output
B-->>U: prospectsAssigned / prospectsNotAssigned
U->>B: Select operation (get_prospect_flows)
B->>R: Resolve tool → gong_get_prospect_flows
R->>G: POST /v2/flows/prospects
G-->>R: "{requestId, prospectsAssigned[]}"
R-->>B: Typed output
B-->>U: prospectsAssigned
Note over U,B: Purge operations require user-only input
U->>B: Select purge_email_address
B->>R: Resolve tool → gong_purge_email_address
R->>G: "POST /v2/data-privacy/erase-data-for-email-address?emailAddress=..."
G-->>R: "{requestId}"
R-->>B: requestId
B-->>U: Async erase confirmed (irreversible)
Reviews (7): Last reviewed commit: "fix(gong): require human-entered target ..." | Re-trigger Greptile |
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit b39f5d9. Configure here.
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit b39f5d9. Configure here.
…to ID list fields - mark cursor output optional:true on aggregate_activity, interaction_stats, list_flows for consistency with list_calls - add wandConfig to comma-separated ID fields (callIds, primaryUserIds, userIds, scorecardIds, reviewedUserIds) matching repo convention for CSV inputs
contentSelector.context/contextTiming were never set on the /v2/calls/extensive request, so the documented context (CRM/external-system links) output was silently always empty even though the field is declared in the tool's outputs.
b39f5d9 to
536b2c3
Compare
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 536b2c3. Configure here.
- gong_purge_email_address / gong_purge_phone_number: POST /v2/data-privacy/erase-data-for-*, the write-half pairing with the existing lookup_email/lookup_phone read tools - gong_assign_flow_prospects: POST /v2/flows/prospects/assign, enrolls CRM prospects into an Engage flow - gong_get_prospect_flows: POST /v2/flows/prospects, looks up which flows a prospect is in Field names verified against an OpenAPI-generator-produced client (cedricziel/gong-rs) whose serde rename attributes mirror Gong's published spec, since Gong's interactive Swagger docs require an authenticated session and can't be fetched directly.
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 8cb1fc3. Configure here.
emailAddress/phoneNumber on the purge tools were user-or-llm, letting an agent autonomously pick the erasure target for an irreversible operation with no human confirmation. Match the user-only visibility already used for credentials.
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit e5eea58. Configure here.
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit e5eea58. Configure here.
Summary
cursoroutputoptional: trueon aggregate_activity/interaction_stats/list_flows (matching list_calls convention), addedwandConfigto comma-separated ID fields (callIds, primaryUserIds, userIds, scorecardIds, reviewedUserIds)Type of Change
Testing
Tested manually —
bun run lintandtsc --noEmitboth cleanChecklist